package cn.iocoder.yudao.module.ai.service.algorithmlibrary;

import javax.validation.*;
import cn.iocoder.yudao.module.ai.controller.admin.algorithm.vo.*;
import cn.iocoder.yudao.module.ai.dal.dataobject.algorithmlibrary.AlgorithmLibraryDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;

/**
 * 推理算法库 Service 接口
 *
 * @author gt
 */
public interface AlgorithmLibraryService {

    /**
     * 创建推理算法库
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createAlgorithmLibrary(@Valid AlgorithmLibrarySaveReqVO createReqVO);

    /**
     * 更新推理算法库
     *
     * @param updateReqVO 更新信息
     */
    void updateAlgorithmLibrary(@Valid AlgorithmLibrarySaveReqVO updateReqVO);

    /**
     * 删除推理算法库
     *
     * @param id 编号
     */
    void deleteAlgorithmLibrary(Long id);

    /**
     * 获得推理算法库
     *
     * @param id 编号
     * @return 推理算法库
     */
    AlgorithmLibraryDO getAlgorithmLibrary(Long id);


    /**
     * 获得推理算法库分页
     *
     * @param pageReqVO 分页查询
     * @return 推理算法库分页
     */
    PageResult<AlgorithmLibraryDO> getAlgorithmLibraryPage(AlgorithmLibraryPageReqVO pageReqVO);



}